#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# @Author: CoderXYX
# @Email : xue752834620@126.com
# @Date  : 2019/5/3
# @Software: PyCharm

import turtle as T

# 基本设置
T.pensize(4)  # 笔的尺寸
T.hideturtle()  # 隐藏箭头的显示
T.colormode(255)  # turtle的颜色控制体系
T.setup(width=800, height=600)  # 设置窗口的大小
T.speed(5)  # 画笔绘制的速度范围[0,10]整数

# 绘制文字
T.penup()
T.goto(100, 230)
T.colormode(255)
T.color("blue")
T.write('小猪佩奇', align="right", font=('华文行楷', 30, 'normal'))
T.color((255, 155, 192), "pink")  # 同时设置笔的颜色，填充的颜色

# 鼻子
T.penup()  # 画笔抬起
T.goto(-100, 100)  # 可以把画笔直接移动到绝对坐标系的某一个点
T.pendown()  # 画笔落下
T.seth(-30)  # 将turtle当前的方向设置为绝对坐标系下的angle角度
T.begin_fill()  # 准备开始填充图形
a = 0.4
for i in range(120):
    if 0 <= i < 30 or 60 <= i <90:
        a = a + 0.08
        T.lt(3)  # 向左转3度
        T.fd(a)  # 走直线，行进距离是a
    else:
        a = a - 0.08
        T.lt(3)
        T.fd(a)
T.end_fill()  # 完成填充

T.pu()
T.seth(90)
T.fd(25)
T.seth(0)
T.fd(10)
T.pd()
T.pencolor(255, 155, 192)
T.seth(10)
T.begin_fill()
T.circle(5)
T.color(160, 82, 45)
T.end_fill()

T.pu()
T.seth(0)
T.fd(20)
T.pd()
T.pencolor(255, 155, 192)
T.seth(10)
T.begin_fill()
T.circle(5)
T.color(160, 82, 45)
T.end_fill()

# 头
T.color((255, 155, 192), (254, 187, 234))
T.pu()
T.seth(90)
T.fd(41)
T.seth(0)
T.fd(0)
T.pd()
T.begin_fill()
T.seth(180)
T.circle(300, -30)
T.circle(100, -60)
T.circle(80, -100)
T.circle(150, -20)
T.circle(60, -95)
T.seth(161)
T.circle(-300, 15)
T.pu()
T.goto(-100, 100)
T.pd()
T.seth(-30)
a = 0.4
for i in range(60):
    if 0 <= i < 30 or 60 <= i < 90:
        a = a + 0.08
        T.lt(3)  # 向左转3度
        T.fd(a)  # 向前走a的步长
    else:
        a = a - 0.08
        T.lt(3)
        T.fd(a)
T.end_fill()  # 完成填充

# 耳朵
T.color((255, 155, 192),(254, 187, 234))
T.pu()
T.seth(90)
T.fd(-7)
T.seth(0)
T.fd(70)
T.pd()
T.begin_fill()
T.seth(100)
T.circle(-50, 50)
T.circle(-10, 120)
T.circle(-50, 54)
T.end_fill()

T.pu()
T.seth(90)
T.fd(-12)
T.seth(0)
T.fd(30)
T.pd()
T.begin_fill()
T.seth(100)
T.circle(-50, 50)
T.circle(-10, 120)
T.circle(-50, 56)
T.end_fill()

# 眼睛
T.color((255, 155, 192), "white")
T.pu()
T.seth(90)
T.fd(-20)
T.seth(0)
T.fd(-95)
T.pd()
T.begin_fill()
T.circle(15)
T.end_fill()

T.color("black")
T.pu()
T.seth(90)
T.fd(12)
T.seth(0)
T.fd(-3)
T.pd()
T.begin_fill()
T.circle(3)
T.end_fill()

T.color((255, 155, 192), "white")
T.pu()
T.seth(90)
T.fd(-25)
T.seth(0)
T.fd(40)
T.pd()
T.begin_fill()
T.circle(15)
T.end_fill()

T.color("black")
T.pu()
T.seth(90)
T.fd(12)
T.seth(0)
T.fd(-3)
T.pd()
T.begin_fill()
T.circle(3)
T.end_fill()

# 腮
T.color((255, 155, 192))
T.pu()
T.seth(90)
T.fd(-95)
T.seth(0)
T.fd(65)
T.pd()
T.begin_fill()
T.circle(30)
T.end_fill()

# 嘴
T.color((239, 69, 19))
T.pu()
T.seth(90)
T.fd(15)
T.seth(0)
T.fd(-100)
T.pd()
T.seth(-80)
T.circle(30, 40)
T.circle(40, 80)

# 身体
T.color("red", (228, 48, 98))
T.pu()
T.seth(90)
T.fd(-20)
T.seth(0)
T.fd(-78)
T.pd()
T.begin_fill()
T.seth(-130)
T.circle(100, 10)
T.circle(300, 30)
T.seth(0)
T.fd(230)
T.seth(90)
T.circle(300, 30)
T.circle(100, 3)
T.color((255, 155, 192), (255, 100, 100))
T.seth(-135)
T.circle(-80, 63)
T.circle(-150, 24)
T.end_fill()

# 手
T.color((255, 125, 192))
T.pu()
T.seth(90)
T.fd(-40)
T.seth(0)
T.fd(-27)
T.pd()
T.seth(-160)
T.circle(300, 15)
T.pu()
T.seth(90)
T.fd(15)
T.seth(0)
T.fd(0)
T.pd()
T.seth(-10)
T.circle(-20, 90)

T.pu()
T.seth(90)
T.fd(30)
T.seth(0)
T.fd(237)
T.pd()
T.seth(-20)
T.circle(-300, 15)
T.pu()
T.seth(90)
T.fd(20)
T.seth(0)
T.fd(0)
T.pd()
T.seth(-170)
T.circle(20, 90)

# 脚
T.pensize(20)
T.color((240, 128, 128))
T.pu()
T.seth(90)
T.fd(-75)
T.seth(0)
T.fd(-180)
T.pd()
T.seth(-90)
T.fd(40)
T.seth(-180)
T.color("black")
T.pensize(15)
T.fd(20)

T.pensize(20)
T.color((240, 128, 128))
T.pu()
T.seth(90)
T.fd(40)
T.seth(0)
T.fd(90)
T.pd()
T.seth(-90)
T.fd(40)
T.seth(-180)
T.color("black")
T.pensize(15)
T.fd(20)

# 尾巴
T.pensize(4)
T.color((255, 155, 192))
T.pu()
T.seth(90)
T.fd(70)
T.seth(0)
T.fd(95)
T.pd()
T.seth(0)
T.circle(70, 20)
T.circle(10, 330)
T.circle(70, 30)

T.clear()
T.write('啥是佩奇？？？''\n''这就是小猪佩奇', align="right", font=('华文行楷', 30, 'normal'))
# T.write('这就是小猪佩奇',align="right",font=('华文行楷',30,'normal'))
T.done()  # 表示状态，运行完之后不会退出，需要手动退出，如果不加入的话，turtle画布会自动退出
